package com.scheduling.machine.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.DecimalMin;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 机器数据传输对象
 *
 * @author 开发团队
 * @since 2025-05-29
 */
@Data
@Schema(description = "机器信息")
public class MachineDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    @Schema(description = "机器ID")
    private String machineId;

    @Schema(description = "机器名称", required = true)
    @NotBlank(message = "机器名称不能为空")
    private String machineName;

    @Schema(description = "机器类型ID", required = true)
    @NotBlank(message = "机器类型不能为空")
    private String machineTypeId;

    @Schema(description = "最大产能", required = true)
    @NotNull(message = "最大产能不能为空")
    @DecimalMin(value = "0", message = "最大产能不能小于0")
    private BigDecimal maxCapacity;

    @Schema(description = "状态(IDLE-空闲/RUNNING-运行中)")
    private String status;
} 